One of a series of functions able to generate a set of variations from a symbol-pattern. The 'theme' symbol-pattern is always stated first in the output followed sequentially by number of variants.
(setq mel (gen-variants-fc 0.12 3 '(a b c d)))
--> (a b c d d a b = b a b a a b = d))
The processing function find-change replaces repeated symbols occuring in each variant but not across variant boundaries, example: (a b c d d c b c c = = d d b = =)
Should you wish to remove the 'theme' from the output statement use the nthcdr function:
(setq mel1 (nthcdr 4 (gen-variants-fc nil 3 '(a b c d))))